package com.music.service.music;

import com.music.dto.music.PlaylistDTO;
import com.music.dto.utils.TableReqDTO;
import com.music.dto.utils.TableRspDTO;
import com.music.entity.music.PlaylistEntity;

import java.util.List;

public interface PlaylistService {
    /*
     * @Description 根据用户Id列出歌单
     * @Author DY
     * @Date 2021/11/23
     **/
    TableRspDTO listPlaylistByUserId(Long userId, TableReqDTO tableReqDTO) throws Exception;

    /*
     * @Description 新增歌单
     * @Author DY
     * @Date 2021/11/23
     **/
    Integer add(Long userId, PlaylistDTO playlistDTO) throws Exception;

    /*
     * @Description 编辑歌单
     * @Author DY
     * @Date 2021/11/23
     **/
    Integer update(PlaylistDTO playlistDTO) throws Exception;

    /*
     * @Description 删除歌单
     * @Author DY
     * @Date 2021/11/23
     **/
    Integer remove(PlaylistDTO playlistDTO) throws Exception;

    /*
     * @Description 根据用户Id列出音乐广场
     * @Author hbh
     * @Date 2021/11/26
     **/
    TableRspDTO listMusicSquareByUserId(Long userId, TableReqDTO tableReqDTO) throws Exception;

    /*
     * @Description 获取歌单下载次数
     * @Author DY
     * @Date 2021/12/26
     **/
    Integer getDownloadSum(Long playlistId) throws Exception;

    /*
     * @Description 编辑歌单标签
     * @Author DY
     * @Date 2021/12/26
     **/
    Integer updateTagByPlaylist(Long playlistId, String tagIds) throws Exception;
}
